ParseStateは複数持てるようにする | scrapVim-lite-3
「operatorとmotionと数字のどれかを受け付ける」といった状態を簡単に表現できる
渡されたvim key mapにマッチするコマンドがない ParseState
は停止コマンドを発火する
リストが空になったら初期状態へ移行する
入力されたキーもリセットする
コマンドの解析はそれぞれの ParseState
で独立に行う
遷移できるようになったら、他の ParseState
の状態に関係なく遷移処理を行う
↑これどっかのページにも同じこと書いたんだけどどこだっけ?
見つけた
これ複数格納できるようにしたほうがいいんじゃないか?
「数字かmotionを受け付ける」と行った状態を表現できる
与えられたvim key mapsに該当するcommandが見つからなくなったstateから削除していく
これは for
ループで各stateごとに評価して、番号とstateを紐付けるようにしておけば、指定したstateを削除できる